var ZZTQualityMgr={};

ZZTQualityMgr.Utils={
    //获取表单内文本宽度
     textWidth:function(text) {
        text = $.trim(text);
        var sensor = $('<pre>' + text + '</pre>').css({display: 'none'});
        $('body').append(sensor);
        var width = sensor.outerWidth();
        sensor.remove();
        return width;
},

    //input 宽度设置---有值时为内容的宽度
     setInputWidth:function(el$, w) {
        if (!el$.val()) {
            el$.css({width: '100%'});
        } else {
            el$.css({width: w});

           // console.log(w,el$.parent().innerWidth());
/*            if(w<el$.parent().innerWidth()){
                el$.css({width: '100%'});
            }*/
        }
    },

    //textarea 宽高设置为父元素的宽高；
     setTextareaSize :function(el$, parentElHeight) {
        el$.css({
            width: '99%',
            'min-height': parentElHeight,
        })
    },
};

ZZTQualityMgr.Common={
    //设置可见input 元素的宽，textarea的高；
     visibleInput :function() {
         var Utils=ZZTQualityMgr.Utils;
        // var i=0;

         //需执行2次，使用所有input都100%显示；
         var setWidth=function () {
             var items = $(".p-tab-item");
            // var dfd=$.Deferred();
             $("input:not(.input-line)", items).each(function (item, index) {
                 var curInput = $(this);

                 Utils.setInputWidth(curInput, Utils.textWidth(curInput.val()))
             });

             $('textarea', items).each(function (item, index) {
                 var curTextarea = $(this);
                 Utils.setTextareaSize(curTextarea, curTextarea.parent('td').outerHeight())
             });

            // i++;
            // console.log(i);
            // return dfd.resolve();
         };

         setWidth();

/*         setWidth().promise().done(function () {
             setTimeout(function () {
                 setWidth()
             },0)
         })*/

         return this;
     },

    //设置不可见input 元素的宽，textarea的高；
    hiddenInput :function() {
        var Utils=ZZTQualityMgr.Utils;
        var items = $('.p-tab-item:hidden');
        var _addCss = {
            visibility: 'hidden',
            'position': 'absolute',
            'z-index': 0,
            display: 'block',
            top: -9999,
            left: -99999
        };
        var _removeCss = {visibility: '', 'position': '', 'z-index': '', display: 'none', top: '', left: ''};

        items.css(_addCss);

        $('input:not(.input-line)', items).each(function (item, index) {
            var curInput = $(this);
            Utils.setInputWidth(curInput, Utils.textWidth(curInput.val()))
        });

        $('textarea', items).each(function (item, index) {
            var curTextarea = $(this);
            Utils.setTextareaSize(curTextarea, curTextarea.parent('td').outerHeight())
        });

        items.css(_removeCss);
        return this;
    },

    //tabs
    tabs:function(){
        $(document).on('click', '.p-tab-h li', function (e) {
            e.preventDefault();
            var curClass = 'cur';
            var li$ = $(this).closest('li');
            var index = li$.index();
            li$.addClass(curClass).siblings().removeClass(curClass);
            li$.closest('.p-tab').find('.p-tab-c .p-tab-item').eq(index).show().siblings(':visible').hide();
            li$.trigger("changetab");
        });

        return this;
    },

    //新添加一行；
    addRow:function () {
        $(".btn-add-row").on("click", function () {
            var tr = $(this).parents('tr').prev();
            tr.after(tr.clone(true));
        });
        return this;
    },

    //表格宽度自适应
    tableWidthAuto:function () {
        $('table:not(.table-inner)').css({width: 'auto'});
        return this;
    },

    //Select 切换页面
    selectChange:function () {
        var select=$(".select-types select");
        var curFile =select.val();
        select.on("change", function (e) {
            e.preventDefault();
            var href = $.trim($(this).val());
            if (href === '#') {
                alert("文件仍在生产中！请耐心等待。");
                return false;
            } else {
                var newUrl = location.href.replace(curFile, '') + href;
                console.log(newUrl, curFile);
                location.href = newUrl;
            }
        });
        return this;
    },

    //序列化表单数据
    serialize:function () {
        var results=$("<ul class='form-fields-list'></ul>");
        var form=$("form");
        var ajaxParam=form.serialize();
        var fields = form.serializeArray();

        $.each( fields, function(i, field){
           // console.log(field);
            var str="name : "+field.name+", ";
            if(field.value){
                str+="value  : "+field.value;
            }else{
                str+="value  : null";
            }
            results.append("<li>{ "+str+" }</li>");
        });

        $("body")
            .append(results)
            .append('<p class="ajax-params">'+ajaxParam+'</p>');
    }

};




$(function () {

    ZZTQualityMgr.Common
        .tabs()
        .addRow()
        .tableWidthAuto()
        .selectChange();


    //test;
    $("#btnResults").on('click',function () {
        ZZTQualityMgr.Common.serialize();
    })

});
